package com.wish.g04.financing.vo;


import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * 收款计划表
 * @author tyd
 * @since 2022-05-31
 */
@Data
public class ReceiptPlanVO implements Serializable {


    /**
     * 合同ID
     */
    private String contractNo;

    /**
     * 收款单号
     */
    private String receiptOrderNo;


    /**
     * 承租房间(使用房源名称)
     */
    private String roomName;

    /**
     * 租客姓名(面向业主收款时，为空)
     */
    private String tenantName;

    /**
     * 小区(使用楼盘名)
     */
    private String premiseName;

    /**
     * 支付金额（应收金额，房租时=不含税净价+税费）
     */
    private BigDecimal paymentAmount;

    /**
     * 实收金额
     */
    private BigDecimal realPaymentAmount;


    /**
     * 选择账期（跟随的第几期房租对应的收款计划ID）,跟随一起付款的时候，应付日期选择设置为同一天
     */
    private Long receiptNumber;

    /**
     * 收款状态
     1:未收款 2：已收款 3：已中止  4：已冻结（未收款的时候，才会变成已冻结，所以恢复冻结状态的时候，是恢复成未收款状态）
     */
    private Integer skStatus;

    /**
     * 账单类型（金融属性）,"1：分期变更
     2：租约保理变更
     3：退租变更
     4：普通账单(正常房租租务计划)"
     参照枚举CollectionPlanZdType
     */
    private Integer billType;

    /**
     * 预定收款日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date collectionDate;

    /**
     * 实际收款日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date realCollectionDate;

    /**
     * 线下支付方式（直接录入已收款的收款计划时选择的）
     ,1:快捷同，2：支付宝，3：微信，4：现金，5：银行卡转账，6：POS机刷卡，99：其它
     */
    private Integer payMethod;

    /**
     * 操作人
     */
    private String operationUser;

}
